Orthogonal Frequency Division Multiple Access (OFDMA) technology is getting very popular in modern communication systems since the OFDMA technology can efficiently support multiple mobile stations with limited bandwidth and easily provide Quality of Service (QoS). The OFDMA technology is a multiple access version of orthogonal frequency-division multiplexing (OFDM). OFDM is a modulation technique for data transmission based on frequency-division multiplexing (FDM), which uses different frequency channels to transmit multiple streams of data. In OFDM systems, a wide channel is divided into multiple narrow-band subcarriers, which allow orthogonal modulated streams of data to be transmitted in parallel on the subcarriers.
In OFDMA systems, multiple subscribers can simultaneously use different subcarriers for signal transmission. Thus, in an OFDMA system, multiple data bursts can be transmitted from a base station to multiple mobile stations in the same time frame but allocated in different frequency subcarriers. Consequently, an OFDMA system can support multiple mobile stations using different subcarriers.
In the media access control (MAC) layer of an OFDMA system, outgoing data from an application is processed according to an appropriate MAC protocol to package the outgoing data for transmission. The outgoing data from the application is typically stored in linked buffers of a random access memory (RAM) as data blocks in the form of service data units (SDUs). In some implementations, the outgoing data blocks are processed according to the MAC protocol and a copy of the processed data blocks is stored in the RAM for transmission. A concern with these implementations is that the RAM must be sufficiently large to store the copy of the processed data blocks, which increases the required size of the RAM. In addition, the process of copying the processed data blocks in the RAM and reading out the process data blocks reduces speed and power efficiency.
Thus, in some implementations, descriptors of the outgoing data blocks in the buffers of the RAM are used to eliminate the need for a copy of the processed data blocks. Each of these descriptors is typically used to identify one set of contiguous data blocks in a single buffer of the RAM. However, additional descriptors may be needed when the original sets of contiguous data blocks are divided into smaller sets of contiguous data blocks due to data blocks in the original sets of contiguous data blocks that have been acknowledged and freed. These additional descriptors again increase the required size of the RAM.
Thus, there is a need for an apparatus and method for transmitting outgoing data in a communication system, such as OFDM-based wireless communication system, that reduces the required size of memory used to implement an appropriate MAC protocol.